﻿using RuoVea.ExDto;
using RuoVea.ExEnum;
using RuoVea.ExSugar.Entity;
using System.ComponentModel.DataAnnotations;

namespace RuoVea.OmiApp.Template.Dto;

/// <summary>
/// 
/// </summary>
public class SysDictValueParam : PageParam
{
    /// <summary>
    /// 字典类型Id
    /// </summary>
    public long TypeId { get; set; }

    /// <summary>
    /// 值
    /// </summary>
    public string Value { get; set; }

    /// <summary>
    /// 编码
    /// </summary>
    public string Code { get; set; }

    /// <summary>
    /// 状态（字典 0正常 1停用 ）
    /// </summary>
    public StatusEnum? Status { get; set; }

}

/// <summary>
/// 
/// </summary>
public class SysDictValueDto
{
    /// <summary>
    /// 主键Id
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? CreateTime { get; set; }

    /// <summary>
    /// 创建人
    /// </summary>
    public long? Creator { get; set; }
    /// <summary>
    /// 修改时间
    /// </summary>
    public DateTime? ModifyTime { get; set; }

    /// <summary>
    /// 修改人
    /// </summary>
    public long? Modifier { get; set; }

    /// <summary>
    /// 逻辑删除:0=未删除,1=已删除 Default:0
    /// </summary>
    public IsDelete? IsDeleted { get; set; }
    /// <summary>
    /// 字典类型Id
    /// </summary>
    public long TypeId { get; set; }

    /// <summary>
    /// 值
    /// </summary>
    [MaxLength(100)]
    public string Value { get; set; }

    /// <summary>
    /// 编码
    /// </summary>
    [MaxLength(50)]
    public string Code { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int Sort { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [MaxLength(100)]
    public string Remark { get; set; }

    /// <summary>
    /// 状态（字典 0正常 1停用 ）
    /// </summary>
    public StatusEnum Status { get; set; } = StatusEnum.ENABLE;

    /// <summary>
    /// CssClass
    /// </summary>
    public string CssClass { get; set; } = string.Empty;
    /// <summary>
    /// ListClass
    /// </summary>
    public string ListClass { get; set; } = string.Empty;
    /// <summary>
    /// IsDefault
    /// </summary>
    public bool IsDefault { get; set; }
}

/// <summary>
/// 
/// </summary>
public class QueryDictValueListByCodeInput
{
    /// <summary>
    /// 字典类型Code
    /// </summary>
    [Required(ErrorMessage = "字典类型Code不能为空")]
    public string Code { get; set; }
}

/// <summary>
/// 
/// </summary>
public class ChageStateDictValueInput : EntityBaseId
{
    /// <summary>
    /// 状态（字典 0正常 1停用 ）
    /// </summary>
    public StatusEnum Status { get; set; }
}